Conversation
ADDED: Ctrl+Shift+D over a map opens a popup listing every modifier it rolled, with the verdict the profile in use gives each; a click walks a row through safe, dangerous, deadly and back, and a right-click puts it straight back to unrated. ADDED: A one-line outlook leads the popup, reporting the strongest thing true of the map. - One deadly modifier decides it whatever it is outnumbered by. Averaging that away would be exactly the confident wrong answer this codebase exists to avoid. ADDED: Rating tables are profiles, a JSON file each under `<config>/map-profiles/`, made and unmade from Settings, with the directory as the authority over the config's list. ADDED: A Map Check settings tab lists every modifier the bundle's pool publishes, searchable, four verdict buttons to an affix, for the one session where somebody pre-fills the table. ADDED: The search box takes Path of Exile's own item-search syntax — quoted terms, `!` to negate, real regular expressions, `^` and `$` anchored to a printed line — and a `?` beside it says so in six examples. ADDED: A pasted map search string can be turned into verdicts across the whole pool, shown as the rows it would write and saved only on Accept. ADDED: `en-mod-pools.ndjson` and its index load as optional bundle assets behind `has_mod_pools()`, so a bundle published before they existed keeps working. ADDED: `mod_domain` on base types and item classes, and `GameData::mod_domain_for`, which is what says a chart rolls from a different pool than the map it is sailed from. - Ask the base first and its class second: trade files all 491 maps under one proxy row sitting with the stackable currency, so a map's own record states no domain at all. ADDED: `mapcheck_test` and `hotkey_test`. CHANGED: A verdict is keyed on an affix — its whole sorted set of stat `ref`s — rather than on any one wording. - 21 of the pool's wordings sit on more than one affix and 50 affixes grant more than one, so a key per wording cannot tell two decisions apart: rating `Impaling` also rated the more-currency line it shares with fourteen others. - Never on a printed line, which is language-dependent the moment a localised bundle exists. CHANGED: Implicits are rated like anything else instead of being printed above the list. - They were left out on the argument that an implicit is what the base came with rather than what it rolled — true of a Nightmare map saying it is one, false of the Vaal corruption implicits, which roll and which the pool carries. CHANGED: An affix granted by more than one pool is one row, not one per pool, since the verdict key holds no domain and the rows could never disagree. 270 pool entries, 227 rows. CHANGED: A verdict lent by a shorter affix is drawn faintly rather than not at all, so the propagation rule is visible before a map opens; pressing a button still writes only this affix. CHANGED: The profile in use is written the moment it changes, from the popup as well as from Settings. - The selection lived in the live config object that only the Settings Save button commits, so a switch made in the popup was lost on the next launch. Saving that object here would have pushed out a league or an account name still being typed, so the file is re-read and the two map-check fields laid over it. CHANGED: The test bundle slice carries a mod pool, mod domains and the stats behind a map's modifiers. CHANGED: PRIVACY.md lists the profile files and what config.json now holds of them.
REMOVED: the per-character auto-load rule, in all of it — `App::auto_profile`, `apply_auto_profile` and the `set_screen` hook that called it on the way into either screen that rates. - The game never writes the selected character's name to `logs/LatestClient.txt`. A full session on 3.29.2, from `***** LOG FILE OPENING *****` through login, character select and two zones, does not contain it once; the only three line shapes in the 48 MB history that carry a name (a level-up, a death, a channel message) name party members as readily as the local character. There is nothing to key a profile on, so this is closed rather than deferred. REMOVED: `Config::map_profile_by_character` and its `by_character` object, on the read side as well as the write. A file still carrying one loads, keeps everything else, and drops the dead key on the next write. REMOVED: the disabled **Auto-load** checkbox, its `kClientLogSupported` switch and both tooltips it could have shown, plus the two strings behind them. CHANGED: `select_map_profile` persists unconditionally — the profile last picked, in the popup or in Settings, is the one the next launch opens on. CHANGED: ROADMAP marks 0.7 shipped and its **Might** for the search-string import as built. VERSION is untouched; the release workflow owns it. CHANGED: docs/roadmap.md gains a **Decided against** section, and map-check.md the evidence behind this one — reopen it with a capture, not with reasoning.
…r's words CHANGED: `PPC_DEV_MAP`'s fallback to `PPC_DEV_ITEM` is spelled out instead of using `?:`. - A GNU extension, so the Windows job failed to compile `app.cpp` while Linux built it clean. It was the only one in the tree. CHANGED: ROADMAP's search-string import paragraph is rewrapped to the file's width, its footnote reads as a footnote rather than a bullet, and one typo is fixed.
….json The one conflict was PRIVACY.md's `config.json` row, which each side extended: master added the status indicator's switch, this branch the map-check profile names and which is in use. Both are on the row now, and the `map-profiles/` row below it is untouched.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release notes
ADDED: Ctrl+Shift+D over a map opens a popup listing every modifier it rolled and the verdict you gave each, with the rating control on the spot — a click walks a modifier through safe, dangerous and deadly, a right-click puts it back to unrated.
ADDED: A single line leads that popup with the strongest thing true of the map. One deadly modifier decides it however much it is outnumbered.
ADDED: Rating tables are profiles you make, copy and delete. The one in use is picked in the popup or in Settings and is remembered until you change it.
ADDED: A Map check tab in Settings lists every modifier a map can roll, searchable, for the one sitting where you pre-fill the table rather than filling it in by playing.
ADDED: That list takes Path of Exile's own item-search syntax — quoted terms, ! for what you refuse, real regular expressions, and anchors that hold to a printed line. A ? beside the box says so in examples.
ADDED: A map search string you already use can be turned into verdicts across the whole list at once, shown first as the rows it would write and saved only when you accept them.
ADDED: A verdict is about a whole modifier, however many lines it prints, and holds for every modifier that carries those lines. Implicits are rated like anything else.
REMOVED: Switching profile automatically to match the character you are playing, which the plan listed as a maybe. The game's log never names the character you selected, and the lines that do carry a name name your party as readily as you, so there is nothing to switch on. The profile you pick is remembered instead.
Review notes
ADDED: Ctrl+Shift+D over a map opens a popup listing every modifier it rolled, with the verdict the profile in use gives each; a click walks a row through safe, dangerous, deadly and back, and a right-click puts it straight back to unrated.
ADDED: A one-line outlook leads the popup, reporting the strongest thing true of the map.
ADDED: Rating tables are profiles, a JSON file each under
<config>/map-profiles/, made and unmade from Settings, with the directory as the authority over the config's list.ADDED: A Map Check settings tab lists every modifier the bundle's pool publishes, searchable, four verdict buttons to an affix, for the one session where somebody pre-fills the table.
ADDED: The search box takes Path of Exile's own item-search syntax — quoted terms,
!to negate, real regular expressions,^and$anchored to a printed line — and a?beside it says so in six examples.ADDED: A pasted map search string can be turned into verdicts across the whole pool, shown as the rows it would write and saved only on Accept.
ADDED:
en-mod-pools.ndjsonand its index load as optional bundle assets behindhas_mod_pools(), so a bundle published before they existed keeps working.ADDED:
mod_domainon base types and item classes, andGameData::mod_domain_for, which is what says a chart rolls from a different pool than the map it is sailed from.ADDED:
mapcheck_testandhotkey_test.CHANGED: A verdict is keyed on an affix — its whole sorted set of stat
refs — rather than on any one wording.Impalingalso rated the more-currency line it shares with fourteen others.CHANGED: Implicits are rated like anything else instead of being printed above the list.
CHANGED: An affix granted by more than one pool is one row, not one per pool, since the verdict key holds no domain and the rows could never disagree. 270 pool entries, 227 rows.
CHANGED: A verdict lent by a shorter affix is drawn faintly rather than not at all, so the propagation rule is visible before a map opens; pressing a button still writes only this affix.
CHANGED: The profile in use is written the moment it changes, from the popup as well as from Settings.
CHANGED:
PPC_DEV_MAP's fallback toPPC_DEV_ITEMis spelled out instead of using?:.app.cppwhile Linux built it clean. It was the only one in the tree.CHANGED: The test bundle slice carries a mod pool, mod domains and the stats behind a map's modifiers.
CHANGED: PRIVACY.md lists the profile files and what config.json now holds of them.
CHANGED: ROADMAP marks 0.7 shipped and its Might for the search-string import as built. VERSION is untouched; the release workflow owns it.
CHANGED: docs/roadmap.md gains a Decided against section, and map-check.md the evidence behind its first entry.
REMOVED: the per-character auto-load rule, in all of it —
App::auto_profile,apply_auto_profileand theset_screenhook that called it on the way into either screen that rates.logs/LatestClient.txt. A full session on 3.29.2, from***** LOG FILE OPENING *****through login, character select and two zones, does not contain it once; the only three line shapes in the 48 MB history that carry a name (a level-up, a death, a channel message) name party members as readily as the local character. There is nothing to key a profile on, so this is closed rather than deferred — reopen it with a capture, not with reasoning.REMOVED:
Config::map_profile_by_characterand itsby_characterobject, on the read side as well as the write. A file still carrying one loads, keeps everything else, and drops the dead key on the next write.REMOVED: the disabled Auto-load checkbox, its
kClientLogSupportedswitch and both tooltips it could have shown, plus the two strings behind them.🤖 Generated with Claude Code